Scroll to navigation

FDATASYNC(2) 리눅스 프로그래머 메뉴얼 FDATASYNC(2)

이름

fdatasync - 파일의 디스크에 있는 in-core데이타를 동기화한다.

사용법

#include <unistd.h>

#ifdef _POSIX_SYNCHRONIZED_IO

int fdatasync(int fd);

#endif

설명

fdatasync 는 시스템 호출이 반환되기 전에 디스크에서 파일의 모든 데이파버퍼를 플러쉬한다. fsync 와 비슷하지만, 액세스시간과 같은 메타데이타 업데이트를 요구하진 않는다.

액세스 데이타베이스나 로그파일이 작은 데이타 조각을 기록하고, 곧이어 쓰여진 데이 타을 확인하기 위해 fsync 를 호출하는 응용프로그램은 하드디스크에 물리적으로 저장된다. 운나쁘게도, fsync 가 상상 두개의 기록장치를 초기화 할 것이다: 하나는 새로 기록된 데이타를 위함이고, 또다른 하나는 inode에 저장된 수정시간을 업데이트하기 위함이다. 수정시간이 트랜젝션 개념의 한 부분이 아니라면 fdatasync 는 불필요한 디스크기록장치 inode를 피하기 위해 사용된다.

반환값

성공시, 0을 반환한다. 실패시, -1을 반환하고, errno 는 적절히 설정된다.

에러

fd 는 기록을 위해 열린 유효 파일 디스크립터이다.
fd 는 동기화를 지원하지 않는 특별한 파일을 경계짓는다.is bound to a special file which does not support synchronization.
에러가 동기화하는 동안 발생했다.

버그

현재(리눅스 2.0.23) fdatasyncfsync 와 같다.

호환

POSIX1b (formerly POSIX.4)

관련 항목

fsync(2), B.O. Gallmeister, POSIX.4, O'Reilly, pp. 220-223 and 343.

역자

ASPLINUX<man@asp-linux.co.kr>, 2000년 7월 26일

1996년 4월 13일 리눅스 1.3.86